package com.deliccio.dao.impl;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.deliccio.connect.DAO;
import com.deliccio.dao.ParametrosDAO;
import com.deliccio.entitys.Parametros;
import com.deliccio.util.Constantes;

@Repository("ParametrosDAO")
public class ParametrosDAOImpl extends DAO<Parametros> implements ParametrosDAO{

	@Override
	public List<Parametros> obtenerConjuntos(){
		sqlQuery=" select p from Parametros p left join fetch  p.subParametros s where p.tabla=:tabla and p.parametroPadre!= 11 ";
		q=em.createQuery(sqlQuery);
		q.setParameter("tabla",Constantes.TABLA_CONJUNTOS);
		return q.getResultList();
	}

	@Override
	public List<Parametros> obtenerTipoConjunto() {
		sqlQuery=" select p from Parametros p left join fetch  p.subParametros s where p.tabla=:tabla and p.parametroPadre = 11 ";
		q=em.createQuery(sqlQuery);
		q.setParameter("tabla",Constantes.TABLA_CONJUNTOS);
		return q.getResultList();
	}

	@Override
	public List<Parametros> obtenerTipoProductos(){
		sqlQuery=" select p from Parametros p left join fetch  p.subParametros s where p.tabla=:tabla and p.parametroPadre != 11 ";
		q=em.createQuery(sqlQuery);
		q.setParameter("tabla",Constantes.TABLA_CONJUNTOS);
		return q.getResultList();
	}

	@Override
	public List<Parametros> obtenerTiposProductosIndividuales(Integer individuales){
		sqlQuery=" select new Parametros(p.id, p.nombre)  from Parametros p where  p.parametroPadre.id = :individuales ";
		q=em.createQuery(sqlQuery);
		q.setParameter("individuales",Constantes.INDIVIDUALES);
		return q.getResultList();
	}

	

}
